home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume15 / tpscript / part01 next >
Encoding:
Internet Message Format  |  1988-05-25  |  55.0 KB

  1. Subject:  v15i013:  Ditroff to PostScript translator, Part01/05
  2. Newsgroups: comp.sources.unix
  3. Sender: sources
  4. Approved: rsalz@uunet.UU.NET
  5.  
  6. Submitted-by: Axel Mahler <axel%coma.UUCP@TUB.BITNET>
  7. Posting-number: Volume 15, Issue 13
  8. Archive-name: tpscript/part01
  9.  
  10. [  Issues 11 and 12 will be coming from Robert Elz.  --r$  ]
  11.  
  12. This is 'tpscript', a free ditroff to PostScript filter package.  Tpscript
  13. was originally written by Stephen Frede who was with the University of New
  14. South Wales, Australia, when he wrote the programs.  We've been using it
  15. most satisfactorily with an Apple LaserWriter Plus for about two years
  16. now. As requests for information about ANY troff to PostScript filter keep
  17. coming up in comp.text and comp.lang.postscript, I assume that about all
  18. potentially interested people missed the original posting of 'tpscript' in
  19. net.sources, two years ago.
  20.  
  21. The operating environment we have is a MicroVAX II, running 4.3BSD with
  22. DWB 1.0 (or 1.2, I'm not certain) (di)troff, and an Apple LaserWriter
  23. Plus. However, there's nothing BSD specific that would keep 'tpscript'
  24. from running on any sensible Unix system.
  25.  
  26. #! /bin/sh
  27. # This is a shell archive.  Remove anything before this line, then unpack
  28. # it by saving it into a file and typing "sh file".  To overwrite existing
  29. # files, type "sh file -c".  You can also feed this as standard input via
  30. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  31. # will see the following message at the end:
  32. #        "End of archive 1 (of 5)."
  33. # Wrapped by rsalz@fig.bbn.com on Thu May 26 13:02:20 1988
  34. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  35. if test -f './MANIFEST' -a "${1}" != "-c" ; then 
  36.   echo shar: Will not clobber existing file \"'./MANIFEST'\"
  37. else
  38. echo shar: Extracting \"'./MANIFEST'\" \(2412 characters\)
  39. sed "s/^X//" >'./MANIFEST' <<'END_OF_FILE'
  40. X   File Name        Archive #    Description
  41. X-----------------------------------------------------------
  42. X ./MANIFEST                 1    
  43. X ./Makefile                 1    
  44. X ./READ_ME                  3    
  45. X ./READ_ME.TOO              4    
  46. X ./man                      1    
  47. X ./man/ipscript.1           3    
  48. X ./man/lpscript.1           3    
  49. X ./opscript                 1    
  50. X ./opscript/Makefile        1    
  51. X ./opscript/bitmap.PS       1    
  52. X ./opscript/ipscript.c      4    
  53. X ./opscript/lpscript.c      4    
  54. X ./opscript/pcom.c          4    
  55. X ./opscript/pscript.h       1    
  56. X ./pscript                  1    
  57. X ./pscript/READ_ME          1    
  58. X ./pscript/a4.ps            1    
  59. X ./pscript/big_greek.ps     1    
  60. X ./pscript/demo.ps          3    
  61. X ./pscript/floor.ps         3    
  62. X ./pscript/genftable.ps     5    
  63. X ./pscript/grid.ps          1    
  64. X ./pscript/inc.ps           1    
  65. X ./pscript/pages.ps         1    
  66. X ./pscript/papersize.ps     1    
  67. X ./pscript/pattern.ps       1    
  68. X ./pscript/setidle.sh       1    
  69. X ./pscript/setname.sh       1    
  70. X ./pscript/setpasswd.sh     1    
  71. X ./pscript/shadow.ps        1    
  72. X ./tpscript                 1    
  73. X ./tpscript/Makefile        1    
  74. X ./tpscript/call.c          1    
  75. X ./tpscript/dev.h           1    
  76. X ./tpscript/devalw          1    
  77. X ./tpscript/devalw/B        2    
  78. X ./tpscript/devalw/BB       2    
  79. X ./tpscript/devalw/BI       2    
  80. X ./tpscript/devalw/BO       2    
  81. X ./tpscript/devalw/BR       2    
  82. X ./tpscript/devalw/BX       2    
  83. X ./tpscript/devalw/C        1    
  84. X ./tpscript/devalw/CB       1    
  85. X ./tpscript/devalw/CO       1    
  86. X ./tpscript/devalw/CX       2    
  87. X ./tpscript/devalw/DESC.alw  1    
  88. X ./tpscript/devalw/DESC.alwp  1    
  89. X ./tpscript/devalw/H        2    
  90. X ./tpscript/devalw/HB       2    
  91. X ./tpscript/devalw/HO       2    
  92. X ./tpscript/devalw/HX       2    
  93. X ./tpscript/devalw/I        2    
  94. X ./tpscript/devalw/Makefile  1    
  95. X ./tpscript/devalw/PA       2    
  96. X ./tpscript/devalw/PB       3    
  97. X ./tpscript/devalw/R        2    
  98. X ./tpscript/devalw/S        2    
  99. X ./tpscript/devalw/S2       1    
  100. X ./tpscript/gendefs.sed     1    
  101. X ./tpscript/hash.c          3    
  102. X ./tpscript/hash.h          1    
  103. X ./tpscript/pcom.c          4    
  104. X ./tpscript/pscript.h       1    
  105. X ./tpscript/sfont2.c        4    
  106. X ./tpscript/sfont2defs.H    3    
  107. X ./tpscript/sfont2defs.h    1    
  108. X ./tpscript/spline.c        3    
  109. X ./tpscript/stringdefs.H    2    
  110. X ./tpscript/stringdefs.c    1    
  111. X ./tpscript/stringdefs.h    1    
  112. X ./tpscript/tpscript.c      5    
  113. X ./tpscript/tpscript.h      3    
  114. X ./troff.sh                 1    
  115. X MANIFEST                   1    This shipping list
  116. END_OF_FILE
  117. if test 2412 -ne `wc -c <'./MANIFEST'`; then
  118.     echo shar: \"'./MANIFEST'\" unpacked with wrong size!
  119. fi
  120. # end of './MANIFEST'
  121. fi
  122. if test -f './Makefile' -a "${1}" != "-c" ; then 
  123.   echo shar: Will not clobber existing file \"'./Makefile'\"
  124. else
  125. echo shar: Extracting \"'./Makefile'\" \(517 characters\)
  126. sed "s/^X//" >'./Makefile' <<'END_OF_FILE'
  127. X
  128. X# SYS should be one of AUSAM, BSD, SYSV, V7
  129. X# This is only really important if VERBOSE (below) is 1.
  130. SYS=BSD
  131. X# VERBOSE should be 1 to generate postscript code to echo stuff
  132. X# back down the communication line. Otherwise 0.
  133. VERBOSE=0
  134. MAKEDEV=/usr/src/cmd/text/troff.d    # pathname relative to devalw
  135. CD=cd
  136. MAKE=make
  137. all: tpscript.d others
  138. MFLAGS=SYS=$(SYS) VERBOSE=$(VERBOSE)
  139. X
  140. tpscript.d:
  141. X    $(CD) tpscript; $(MAKE) $(MFLAGS)
  142. X    $(CD) tpscript/devalw; $(MAKE) MAKEDEV=$(MAKEDEV)
  143. X
  144. others:
  145. X    $(CD) opscript; $(MAKE) $(MFLAGS)
  146. X
  147. END_OF_FILE
  148. if test 517 -ne `wc -c <'./Makefile'`; then
  149.     echo shar: \"'./Makefile'\" unpacked with wrong size!
  150. fi
  151. # end of './Makefile'
  152. fi
  153. if test ! -d './man' ; then
  154.     echo shar: Creating directory \"'./man'\"
  155.     mkdir './man'
  156. fi
  157. if test ! -d './opscript' ; then
  158.     echo shar: Creating directory \"'./opscript'\"
  159.     mkdir './opscript'
  160. fi
  161. if test -f './opscript/Makefile' -a "${1}" != "-c" ; then 
  162.   echo shar: Will not clobber existing file \"'./opscript/Makefile'\"
  163. else
  164. echo shar: Extracting \"'./opscript/Makefile'\" \(933 characters\)
  165. sed "s/^X//" >'./opscript/Makefile' <<'END_OF_FILE'
  166. X# SYS should be one of AUSAM, BSD, SYSV, V7
  167. X# This is only really important if VERBOSE (below) is 1.
  168. SYS=BSD
  169. X# VERBOSE should be 1 to generate postscript code to echo stuff
  170. X# back down the communication line. Otherwise 0.
  171. VERBOSE=1
  172. CFLAGS = -O -DALW -DALWPLUS -D$(SYS) -DVERBOSE=$(VERBOSE)
  173. INSTALL = :
  174. BINDIR=/bin
  175. I=/usr/include
  176. X#I=/srce/include
  177. X
  178. all: lpscript ipscript
  179. X
  180. X
  181. lpscript: $(BINDIR)/lpscript
  182. X$(BINDIR)/lpscript: lpscript.c $I/stdio.h $I/strings.h pcom.c pscript.h
  183. X    $(CC) $(CFLAGS) -o lpscript lpscript.c pcom.c
  184. X    $(INSTALL) - lpscript bin 711 $(BINDIR)/lpscript
  185. X
  186. ipscript: $(BINDIR)/ipscript
  187. X$(BINDIR)/ipscript: ipscript.c $I/stdio.h pcom.c pscript.h
  188. X    $(CC) $(CFLAGS) -o ipscript ipscript.c pcom.c
  189. X    $(INSTALL) - ipscript bin 711 $(BINDIR)/ipscript
  190. X
  191. lint:    lint.ipscript lint.lpscript
  192. X
  193. lint.ipscript:
  194. X    lint -DALW -D$(SYS) ipscript.c pcom.c > ipscript.lint
  195. X
  196. lint.lpscript:
  197. X    lint -DALW -D$(SYS) lpscript.c pcom.c > lpscript.lint
  198. END_OF_FILE
  199. if test 933 -ne `wc -c <'./opscript/Makefile'`; then
  200.     echo shar: \"'./opscript/Makefile'\" unpacked with wrong size!
  201. fi
  202. # end of './opscript/Makefile'
  203. fi
  204. if test -f './opscript/bitmap.PS' -a "${1}" != "-c" ; then 
  205.   echo shar: Will not clobber existing file \"'./opscript/bitmap.PS'\"
  206. else
  207. echo shar: Extracting \"'./opscript/bitmap.PS'\" \(0 characters\)
  208. sed "s/^X//" >'./opscript/bitmap.PS' <<'END_OF_FILE'
  209. END_OF_FILE
  210. if test 0 -ne `wc -c <'./opscript/bitmap.PS'`; then
  211.     echo shar: \"'./opscript/bitmap.PS'\" unpacked with wrong size!
  212. fi
  213. # end of './opscript/bitmap.PS'
  214. fi
  215. if test -f './opscript/pscript.h' -a "${1}" != "-c" ; then 
  216.   echo shar: Will not clobber existing file \"'./opscript/pscript.h'\"
  217. else
  218. echo shar: Extracting \"'./opscript/pscript.h'\" \(1661 characters\)
  219. sed "s/^X//" >'./opscript/pscript.h' <<'END_OF_FILE'
  220. X/*
  221. X *    pscript.h
  222. X *    Some common definitions for programs that produce postscript
  223. X */
  224. X
  225. X#ifndef    PSCRIPT_DEFINED
  226. X#define    PSCRIPT_DEFINED    1
  227. X
  228. X#ifndef    VERBOSE
  229. X#if    lint
  230. X#define    VERBOSE    1    /* if linting, check all the code */
  231. X#else    lint
  232. X#define    VERBOSE    0
  233. X#endif    lint
  234. X#endif    VERBOSE
  235. X
  236. X#if    UNSW
  237. X#undef    AUSAM
  238. X#define    AUSAM    1
  239. X#endif    UNSW
  240. X
  241. X#ifdef    AUSAM
  242. X#undef    AUSAM
  243. X#define    AUSAM    1
  244. X#else
  245. X#define    AUSAM    0
  246. X#endif    AUSAM
  247. X
  248. X#ifdef    BSD
  249. X#undef    BSD
  250. X#define    BSD    1
  251. X#define    index    strchr
  252. X#define    rindex    strrchr
  253. X#include    <strings.h>    /* declarations for string functions */
  254. X#else
  255. X#define    BSD    0
  256. X#include    <string.h>    /* declarations for string functions */
  257. X#endif    BSD
  258. X
  259. X#ifdef    SYSV
  260. X#undef    SYSV
  261. X#define    SYSV    1
  262. X#else
  263. X#define    SYSV    0
  264. X#endif    SYSV
  265. X
  266. X#ifdef    V7
  267. X#undef    V7
  268. X#define    V7    1
  269. X#else
  270. X#define    V7    0
  271. X#endif    V7
  272. X
  273. X#if    AUSAM + BSD + SYSV + V7 != 1
  274. X#include    "Must define 1 only of AUSAM, BSD, SYSV, V7"
  275. X#endif
  276. X
  277. X#include    <stdio.h>
  278. X
  279. X/* LaserWriter page types */
  280. X#define    PT_DEFAULT    0
  281. X#define    PT_LETTER    1
  282. X#define    PT_LEGAL    2
  283. X#define    PT_NOTE        3
  284. X#ifdef    ALW
  285. X#define    PT_A4        4    /* currently only on Apple LaserWriter */
  286. X#endif    ALW
  287. X
  288. X/* Postscript defaults */
  289. X#define    PD_PAGETYPE    PT_LETTER    /* page size is "letter" */
  290. X#define    PD_ROTATION    0        /* page is portrait mode */
  291. X#define    PD_PFREQUENCY    60        /* pixel frequency (pixels/inch) */
  292. X#define    PD_PROTATION    45        /* pixel grid rotation (degrees) */
  293. X
  294. X#define    ALW_RES        300    /* LaserWriter resolution is 300 dots/inch */
  295. X
  296. X#define    PU_INCH        72    /* postscript units / inch */
  297. X#define    PU_CM        28.3465    /* postscript units / cm */
  298. X
  299. X#define    TRUE        (bool)1
  300. X#define    FALSE        (bool)0
  301. X
  302. typedef int    bool;
  303. X
  304. extern FILE *    postr;        /* output stream */
  305. X
  306. void    perror(),
  307. X    exit();
  308. X
  309. X#endif    PSCRIPT_DEFINED
  310. END_OF_FILE
  311. if test 1661 -ne `wc -c <'./opscript/pscript.h'`; then
  312.     echo shar: \"'./opscript/pscript.h'\" unpacked with wrong size!
  313. fi
  314. # end of './opscript/pscript.h'
  315. fi
  316. if test ! -d './pscript' ; then
  317.     echo shar: Creating directory \"'./pscript'\"
  318.     mkdir './pscript'
  319. fi
  320. if test -f './pscript/READ_ME' -a "${1}" != "-c" ; then 
  321.   echo shar: Will not clobber existing file \"'./pscript/READ_ME'\"
  322. else
  323. echo shar: Extracting \"'./pscript/READ_ME'\" \(52 characters\)
  324. sed "s/^X//" >'./pscript/READ_ME' <<'END_OF_FILE'
  325. This directory contains various PostScript scripts.
  326. END_OF_FILE
  327. if test 52 -ne `wc -c <'./pscript/READ_ME'`; then
  328.     echo shar: \"'./pscript/READ_ME'\" unpacked with wrong size!
  329. fi
  330. # end of './pscript/READ_ME'
  331. fi
  332. if test -f './pscript/a4.ps' -a "${1}" != "-c" ; then 
  333.   echo shar: Will not clobber existing file \"'./pscript/a4.ps'\"
  334. else
  335. echo shar: Extracting \"'./pscript/a4.ps'\" \(417 characters\)
  336. sed "s/^X//" >'./pscript/a4.ps' <<'END_OF_FILE'
  337. X/a4
  338. X    [
  339. X        [ 300 72 div 0 0 -300 72 div -72 3436 ]
  340. X        292 3365
  341. X        {statusdict /jobstate (printing) put 0 setblink
  342. X        margins exch 142 add exch 256 add 8 div round cvi frametoroket
  343. X        statusdict /jobstate (busy) put
  344. X        1 setblink }
  345. X        /framedevice load
  346. X        60 45 {dup mul exch dup mul add 1.0 exch sub } /setscreen load
  347. X        {} /settransfer load
  348. X        /initgraphics load
  349. X        /erasepage load
  350. X    ] cvx
  351. statusdict begin bind end readonly def
  352. END_OF_FILE
  353. if test 417 -ne `wc -c <'./pscript/a4.ps'`; then
  354.     echo shar: \"'./pscript/a4.ps'\" unpacked with wrong size!
  355. fi
  356. # end of './pscript/a4.ps'
  357. fi
  358. if test -f './pscript/big_greek.ps' -a "${1}" != "-c" ; then 
  359.   echo shar: Will not clobber existing file \"'./pscript/big_greek.ps'\"
  360. else
  361. echo shar: Extracting \"'./pscript/big_greek.ps'\" \(820 characters\)
  362. sed "s/^X//" >'./pscript/big_greek.ps' <<'END_OF_FILE'
  363. X%!
  364. X% Print big greek characters
  365. X
  366. X/makeoutlinedict 5 dict def
  367. makeoutlinedict begin
  368. X/basefontdict /Symbol findfont def
  369. X/outfontdict basefontdict maxlength 1 add dict def
  370. basefontdict
  371. X{
  372. X    exch dup /FID ne
  373. X    { exch outfontdict 3 1 roll put }
  374. X    { pop pop }
  375. X    ifelse
  376. X} forall
  377. outfontdict /FontName /Sym_Out put
  378. outfontdict /PaintType 2 put
  379. outfontdict /StrokeWidth 3 put
  380. X/Sym_Out outfontdict definefont pop end
  381. X
  382. X/Sym_Out findfont 650 scalefont setfont
  383. X/p { 10 200 moveto show showpage } def
  384. X
  385. X% now this is silly
  386. X(a) p
  387. X(b) p
  388. X(c) p
  389. X(d) p
  390. X(e) p
  391. X(f) p
  392. X(g) p
  393. X(h) p
  394. X(i) p
  395. X(j) p
  396. X(k) p
  397. X(l) p
  398. X(m) p
  399. X(n) p
  400. X(o) p
  401. X(p) p
  402. X(q) p
  403. X(r) p
  404. X(s) p
  405. X(t) p
  406. X(u) p
  407. X(v) p
  408. X(w) p
  409. X(x) p
  410. X(y) p
  411. X(z) p
  412. X() p
  413. X(A) p
  414. X(B) p
  415. X(C) p
  416. X(D) p
  417. X(E) p
  418. X(F) p
  419. X(G) p
  420. X(H) p
  421. X(I) p
  422. X(J) p
  423. X(K) p
  424. X(L) p
  425. X(M) p
  426. X(N) p
  427. X(O) p
  428. X(P) p
  429. X(Q) p
  430. X(R) p
  431. X(S) p
  432. X(T) p
  433. X(U) p
  434. X(V) p
  435. X(W) p
  436. X(X) p
  437. X(Y) p
  438. X(Z) p
  439. END_OF_FILE
  440. if test 820 -ne `wc -c <'./pscript/big_greek.ps'`; then
  441.     echo shar: \"'./pscript/big_greek.ps'\" unpacked with wrong size!
  442. fi
  443. # end of './pscript/big_greek.ps'
  444. fi
  445. if test -f './pscript/grid.ps' -a "${1}" != "-c" ; then 
  446.   echo shar: Will not clobber existing file \"'./pscript/grid.ps'\"
  447. else
  448. echo shar: Extracting \"'./pscript/grid.ps'\" \(343 characters\)
  449. sed "s/^X//" >'./pscript/grid.ps' <<'END_OF_FILE'
  450. X%!
  451. X% print a grid to check linearity of LaserWriter
  452. X
  453. X72 dup scale
  454. X
  455. clippath pathbbox pop pop translate
  456. X
  457. X0.003 setlinewidth
  458. X2 setlinecap
  459. X
  460. gsave
  461. X90
  462. X    { newpath
  463. X      0 0 moveto
  464. X      0 11 lineto
  465. X      stroke
  466. X      0.1 0 translate
  467. X    } repeat
  468. X
  469. grestore
  470. X
  471. gsave
  472. X120
  473. X    { newpath
  474. X      0 0 moveto
  475. X      7 0 lineto
  476. X      stroke
  477. X      0 0.1 translate
  478. X    } repeat
  479. grestore
  480. X
  481. showpage
  482. END_OF_FILE
  483. if test 343 -ne `wc -c <'./pscript/grid.ps'`; then
  484.     echo shar: \"'./pscript/grid.ps'\" unpacked with wrong size!
  485. fi
  486. # end of './pscript/grid.ps'
  487. fi
  488. if test -f './pscript/inc.ps' -a "${1}" != "-c" ; then 
  489.   echo shar: Will not clobber existing file \"'./pscript/inc.ps'\"
  490. else
  491. echo shar: Extracting \"'./pscript/inc.ps'\" \(48 characters\)
  492. sed "s/^X//" >'./pscript/inc.ps' <<'END_OF_FILE'
  493. X%!
  494. X/inch { 72 mul } def
  495. X/cm { 28.3465 mul } def
  496. END_OF_FILE
  497. if test 48 -ne `wc -c <'./pscript/inc.ps'`; then
  498.     echo shar: \"'./pscript/inc.ps'\" unpacked with wrong size!
  499. fi
  500. # end of './pscript/inc.ps'
  501. fi
  502. if test -f './pscript/pages.ps' -a "${1}" != "-c" ; then 
  503.   echo shar: Will not clobber existing file \"'./pscript/pages.ps'\"
  504. else
  505. echo shar: Extracting \"'./pscript/pages.ps'\" \(34 characters\)
  506. sed "s/^X//" >'./pscript/pages.ps' <<'END_OF_FILE'
  507. statusdict begin pagecount end ==
  508. END_OF_FILE
  509. if test 34 -ne `wc -c <'./pscript/pages.ps'`; then
  510.     echo shar: \"'./pscript/pages.ps'\" unpacked with wrong size!
  511. fi
  512. # end of './pscript/pages.ps'
  513. fi
  514. if test -f './pscript/papersize.ps' -a "${1}" != "-c" ; then 
  515.   echo shar: Will not clobber existing file \"'./pscript/papersize.ps'\"
  516. else
  517. echo shar: Extracting \"'./pscript/papersize.ps'\" \(657 characters\)
  518. sed "s/^X//" >'./pscript/papersize.ps' <<'END_OF_FILE'
  519. X/a4
  520. X    [
  521. X        [ 300 72 div 0 0 -300 72 div -72 3436 ]
  522. X        292 3365
  523. X        {statusdict /jobstate (printing) put 0 setblink
  524. X        margins exch 142 add exch 256 add 8 div round cvi frametoroket
  525. X        statusdict /jobstate (busy) put
  526. X        1 setblink }
  527. X        /framedevice load
  528. X        60 45 {dup mul exch dup mul add 1.0 exch sub } /setscreen load
  529. X        {} /settransfer load
  530. X        /initgraphics load
  531. X        /erasepage load
  532. X    ] cvx
  533. statusdict begin bind end readonly def
  534. newpath
  535. X/inch { 72 mul } def
  536. X/cm { 28.3465 mul } def
  537. X/Times-Roman findfont 4 cm scalefont setfont
  538. X/sp { 0.9 setgray clippath fill 0 setgray 8 cm 15 cm moveto show showpage } def
  539. letter (letter) sp
  540. note (note) sp
  541. legal (legal) sp
  542. a4 (a4) sp
  543. END_OF_FILE
  544. if test 657 -ne `wc -c <'./pscript/papersize.ps'`; then
  545.     echo shar: \"'./pscript/papersize.ps'\" unpacked with wrong size!
  546. fi
  547. # end of './pscript/papersize.ps'
  548. fi
  549. if test -f './pscript/pattern.ps' -a "${1}" != "-c" ; then 
  550.   echo shar: Will not clobber existing file \"'./pscript/pattern.ps'\"
  551. else
  552. echo shar: Extracting \"'./pscript/pattern.ps'\" \(833 characters\)
  553. sed "s/^X//" >'./pscript/pattern.ps' <<'END_OF_FILE'
  554. X/bitison
  555. X{
  556. X    /ybit exch def /xbit exch def
  557. X    bstring ybit bwidth mul
  558. X    xbit 8 idiv add get
  559. X    1 7 xbit 8 mod sub bitshift
  560. X    and 0 ne
  561. X} def
  562. X
  563. X/setpattern
  564. X{
  565. X    /freq exch def
  566. X    /bwidth exch def
  567. X    /bpside exch def
  568. X    /bstring exch def
  569. X    /onbits 0 def /offbits 0 def
  570. X    freq 0 {
  571. X        /y exch def /x exch def
  572. X        /xindex x 1 add 2 div bpside mul cvi def
  573. X        /yindex y 1 add 2 div bpside mul cvi def
  574. X        xindex yindex bitison
  575. X        { /onbits onbits 1 add def 1 }
  576. X        { /offbits offbits 1 add def 0 }
  577. X        ifelse
  578. X        } setscreen
  579. X    {} settransfer
  580. X    offbits offbits onbits add div setgray
  581. X} def
  582. X
  583. X<d1e3c5885c3e1d88> 8 1 300 32 div setpattern
  584. X
  585. X100 100 moveto 300 0 rlineto 0 300 rlineto -300 0 rlineto closepath fill
  586. X
  587. newpath 300 300 moveto 300 300 100 
  588. X<3e418080e3140808> 8 1 300 32 div setpattern
  589. X
  590. X100 500 moveto 300 0 rlineto 0 300 rlineto -300 0 rlineto closepath fill
  591. showpage
  592. END_OF_FILE
  593. if test 833 -ne `wc -c <'./pscript/pattern.ps'`; then
  594.     echo shar: \"'./pscript/pattern.ps'\" unpacked with wrong size!
  595. fi
  596. # end of './pscript/pattern.ps'
  597. fi
  598. if test -f './pscript/setidle.sh' -a "${1}" != "-c" ; then 
  599.   echo shar: Will not clobber existing file \"'./pscript/setidle.sh'\"
  600. else
  601. echo shar: Extracting \"'./pscript/setidle.sh'\" \(374 characters\)
  602. sed "s/^X//" >'./pscript/setidle.sh' <<'END_OF_FILE'
  603. X# Select the fonts to be idle time scanned
  604. if [ $# != 1 ]
  605. then
  606. X    echo "Usage: setidle passwd-number" 1>&2
  607. X    exit 1
  608. fi
  609. cat <<!
  610. X%!
  611. X$1 serverdict begin exitserver
  612. statusdict begin
  613. X    mark
  614. X    4 100 100 0 94    % Times-Roman 10 point
  615. X    5 100 100 0 94    % Times-Bold 10 point
  616. X    6 100 100 0 94    % Times-Italic 10 point
  617. X    setidlefonts
  618. end
  619. X(idle time font scan changed\n) print flush
  620. X!
  621. echo "\004"
  622. END_OF_FILE
  623. if test 374 -ne `wc -c <'./pscript/setidle.sh'`; then
  624.     echo shar: \"'./pscript/setidle.sh'\" unpacked with wrong size!
  625. fi
  626. # end of './pscript/setidle.sh'
  627. fi
  628. if test -f './pscript/setname.sh' -a "${1}" != "-c" ; then 
  629.   echo shar: Will not clobber existing file \"'./pscript/setname.sh'\"
  630. else
  631. echo shar: Extracting \"'./pscript/setname.sh'\" \(201 characters\)
  632. sed "s/^X//" >'./pscript/setname.sh' <<'END_OF_FILE'
  633. X# Set a new printer name
  634. if [ $# != 2 ]
  635. then
  636. X    echo "Usage: setname passwd-number name" 1>&2
  637. X    exit 1
  638. fi
  639. cat <<!
  640. X%!
  641. X$1 serverdict begin exitserver
  642. statusdict begin
  643. X    ($2) setprintername
  644. end
  645. X!
  646. echo "\004"
  647. END_OF_FILE
  648. if test 201 -ne `wc -c <'./pscript/setname.sh'`; then
  649.     echo shar: \"'./pscript/setname.sh'\" unpacked with wrong size!
  650. fi
  651. # end of './pscript/setname.sh'
  652. fi
  653. if test -f './pscript/setpasswd.sh' -a "${1}" != "-c" ; then 
  654.   echo shar: Will not clobber existing file \"'./pscript/setpasswd.sh'\"
  655. else
  656. echo shar: Extracting \"'./pscript/setpasswd.sh'\" \(213 characters\)
  657. sed "s/^X//" >'./pscript/setpasswd.sh' <<'END_OF_FILE'
  658. X# Set a new passwd
  659. if [ $# != 2 ]
  660. then
  661. X    echo "Usage: setpasswd oldpasswd-number newpasswd-number" 1>&2
  662. X    exit 1
  663. fi
  664. cat <<!
  665. X%!
  666. X$1 serverdict begin exitserver
  667. statusdict begin
  668. X    $1 $2 setpassword ==
  669. end
  670. X!
  671. echo "\004"
  672. END_OF_FILE
  673. if test 213 -ne `wc -c <'./pscript/setpasswd.sh'`; then
  674.     echo shar: \"'./pscript/setpasswd.sh'\" unpacked with wrong size!
  675. fi
  676. # end of './pscript/setpasswd.sh'
  677. fi
  678. if test -f './pscript/shadow.ps' -a "${1}" != "-c" ; then 
  679.   echo shar: Will not clobber existing file \"'./pscript/shadow.ps'\"
  680. else
  681. echo shar: Extracting \"'./pscript/shadow.ps'\" \(221 characters\)
  682. sed "s/^X//" >'./pscript/shadow.ps' <<'END_OF_FILE'
  683. X%!
  684. X/Times-Roman findfont 50 scalefont setfont
  685. X/cm { 28.3465 mul } def
  686. X8 cm 15 cm moveto
  687. X/shadow
  688. X{
  689. X    /text exch def
  690. X    1 -0.1 0
  691. X    {
  692. X        setgray -1 1 rmoveto
  693. X        currentpoint text show moveto
  694. X    } for
  695. X} def
  696. X
  697. X(Shadow) shadow
  698. showpage
  699. END_OF_FILE
  700. if test 221 -ne `wc -c <'./pscript/shadow.ps'`; then
  701.     echo shar: \"'./pscript/shadow.ps'\" unpacked with wrong size!
  702. fi
  703. # end of './pscript/shadow.ps'
  704. fi
  705. if test ! -d './tpscript' ; then
  706.     echo shar: Creating directory \"'./tpscript'\"
  707.     mkdir './tpscript'
  708. fi
  709. if test -f './tpscript/Makefile' -a "${1}" != "-c" ; then 
  710.   echo shar: Will not clobber existing file \"'./tpscript/Makefile'\"
  711. else
  712. echo shar: Extracting \"'./tpscript/Makefile'\" \(1869 characters\)
  713. sed "s/^X//" >'./tpscript/Makefile' <<'END_OF_FILE'
  714. X# INSTALL=cp
  715. INSTALL=:
  716. I=..
  717. ROOT=
  718. INSDIR=/usr/bin
  719. X#    -DUQMINMET for hashed character name lookup
  720. SYS=BSD
  721. VERBOSE=1    # 1 to turn on stuff; 0 to turn off
  722. LOCALSYS=    # for various local mods
  723. CFLAGS= -O
  724. LDFLAGS= -n
  725. DFLAGS= -DUQMINMET -D$(SYS) -DALW -DALWPLUS -DVERBOSE=$(VERBOSE) -DVMSAVE \
  726. X-DPSDEBUG
  727. GFLAGS= -DGERMAN -DGUMLAUT
  728. GEMFLAGS= -DGEMPRINT
  729. CFILES=tpscript.c pcom.c stringdefs.c spline.c sfont2.c hash.c call.c
  730. OFILES=tpscript.o pcom.o stringdefs.o spline.o sfont2.o hash.o
  731. GOFILES=pcom.o stringdefs.o spline.o sfont2.o hash.o
  732. X
  733. X.c.o:
  734. X    $(CC) $(CFLAGS) $(DFLAGS) -c $<
  735. X
  736. all: tpscript tpsgem
  737. X
  738. tpscript: tp1 $(GOFILES)
  739. X    $(CC) $(LDFLAGS) -o tpscript $(OFILES)
  740. X
  741. X#    If you choose the target 'tpsgem' keep in mind, that
  742. X#    documents that contain Pic-graphics cannot be processed
  743. X#    with tpsgem
  744. X
  745. tpsgem: tp2 $(GOFILES) call.o
  746. X    $(CC) $(LDFLAGS) -o tpsgem $(OFILES) call.o
  747. X
  748. tp1: tpscript.c
  749. X    $(CC) $(CFLAGS) $(DFLAGS) -c tpscript.c
  750. X
  751. tp2: tpscript.c
  752. X    $(CC) $(CFLAGS) $(DFLAGS) $(GFLAGS) $(GEMFLAGS) -c tpscript.c
  753. X
  754. install: tpscript tpsgem
  755. X    $(INSTALL) tpscript $(ROOT)$(INSDIR)/dalw
  756. X    $(INSTALL) tpsgem $(ROOT)$(INSDIR)/dalwgem
  757. X    chown bin $(ROOT)$(INSDIR)/dalw $(ROOT)$(INSDIR)/dalwg\
  758. X    $(ROOT)$(INSDIR)/dalwgem
  759. X    chgrp bin $(ROOT)$(INSDIR)/dalw $(ROOT)$(INSDIR)/dalwg\
  760. X    $(ROOT)$(INSDIR)/dalwgem
  761. X    chmod 711 $(ROOT)$(INSDIR)/dalw $(ROOT)$(INSDIR)/dalwg\
  762. X    $(ROOT)$(INSDIR)/dalwgem
  763. X
  764. lint:    tpscript.lint
  765. X
  766. tpscript.lint:     $(CFILES)
  767. X    lint -D$(SYS) $(CFILES) > tpscript.lint
  768. X
  769. clean:
  770. X    rm -f *.o tpscript.lint
  771. X
  772. clobber:    clean
  773. X    rm tpscript tpsgem stringdefs.h sfont2defs.H
  774. X
  775. stringdefs.h:    stringdefs.H
  776. X    sed -f gendefs.sed stringdefs.H >stringdefs.h
  777. X
  778. sfont2defs.h:    sfont2defs.H
  779. X    sed -f gendefs.sed sfont2defs.H >sfont2defs.h
  780. X
  781. hash.o:        hash.h tpscript.h
  782. pcom.o:        pscript.h
  783. sfont2.o:    sfont2defs.h tpscript.h
  784. spline.o:    tpscript.h
  785. stringdefs.o:    hash.h stringdefs.h
  786. tpscript.o:    tpscript.h dev.h pscript.h
  787. END_OF_FILE
  788. if test 1869 -ne `wc -c <'./tpscript/Makefile'`; then
  789.     echo shar: \"'./tpscript/Makefile'\" unpacked with wrong size!
  790. fi
  791. # end of './tpscript/Makefile'
  792. fi
  793. if test -f './tpscript/call.c' -a "${1}" != "-c" ; then 
  794.   echo shar: Will not clobber existing file \"'./tpscript/call.c'\"
  795. else
  796. echo shar: Extracting \"'./tpscript/call.c'\" \(743 characters\)
  797. sed "s/^X//" >'./tpscript/call.c' <<'END_OF_FILE'
  798. static char *RCSid = "$Header: call.c,v 1.1 86/10/15 17:53:07 andy stab $";
  799. X
  800. X/*
  801. X * $Log:    call.c,v $
  802. X * Revision 1.1  86/10/15  17:53:07  andy
  803. X * Initial revision
  804. X * 
  805. X */
  806. X
  807. X#include <stdio.h>
  808. X
  809. extern int lineno;
  810. extern FILE *postr;
  811. X
  812. call (istr)
  813. X     register FILE *istr;
  814. X{
  815. X  FILE *fromchild, *popen();
  816. X  int i=0, j;
  817. X  char ch, cmd[512];
  818. X
  819. X  while ((ch=getc(istr)) != '\n' && ch != EOF) cmd[i++] = ch;
  820. X  /* strcpy (&cmd[i], "\n\n"); */
  821. X  cmd[i] = '\n';
  822. X  cmd[i+1] = '\0';
  823. X
  824. X  if ((fromchild = popen (cmd, "r")) == (FILE *)-1)
  825. X      fprintf (stderr, "call: cannot execute %s\n", cmd);
  826. X
  827. X  putc ('\n', postr);
  828. X  while ((ch = (char)getc (fromchild)) != EOF)
  829. X            putc (ch, postr);
  830. X
  831. X  pclose (fromchild);
  832. X           
  833. X  lineno++;
  834. X  return (1);
  835. X}
  836. X
  837. END_OF_FILE
  838. if test 743 -ne `wc -c <'./tpscript/call.c'`; then
  839.     echo shar: \"'./tpscript/call.c'\" unpacked with wrong size!
  840. fi
  841. # end of './tpscript/call.c'
  842. fi
  843. if test -f './tpscript/dev.h' -a "${1}" != "-c" ; then 
  844.   echo shar: Will not clobber existing file \"'./tpscript/dev.h'\"
  845. else
  846. echo shar: Extracting \"'./tpscript/dev.h'\" \(1242 characters\)
  847. sed "s/^X//" >'./tpscript/dev.h' <<'END_OF_FILE'
  848. X/*      @(#)dev.h    1.1     */
  849. X/*
  850. X    dev.h: characteristics of a typesetter
  851. X*/
  852. X
  853. struct dev {
  854. X    short    filesize;    /* number of bytes in file, */
  855. X                /* excluding dev part */
  856. X    short    res;        /* basic resolution in goobies/inch */
  857. X    short    hor;        /* goobies horizontally */
  858. X    short    vert;
  859. X    short    unitwidth;    /* size at which widths are given, in effect */
  860. X    short    nfonts;        /* number of fonts physically available */
  861. X    short    nsizes;        /* number of sizes it has */
  862. X    short    sizescale;    /* scaling for fractional point sizes */
  863. X    short    paperwidth;    /* max line length in units */
  864. X    short    paperlength;    /* max paper length in units */
  865. X    short    nchtab;        /* number of funny names in chtab */
  866. X    short    lchname;    /* length of chname table */
  867. X    short    spare1;        /* in case of expansion */
  868. X    short    spare2;
  869. X};
  870. X
  871. struct font {        /* characteristics of a font */
  872. X    char    nwfont;        /* number of width entries for this font */
  873. X    char    specfont;    /* 1 == special font */
  874. X    char    ligfont;    /* 1 == ligatures exist on this font */
  875. X    char    spare1;        /* unused for now */
  876. X    char    namefont[10];    /* name of this font (e.g., "R" */
  877. X    char    intname[10];    /* internal name (=number) on device, in ascii */
  878. X};
  879. X
  880. X/* ligatures, ORed into ligfont */
  881. X
  882. X#define    LFF    01
  883. X#define    LFI    02
  884. X#define    LFL    04
  885. X#define    LFFI    010
  886. X#define    LFFL    020
  887. END_OF_FILE
  888. if test 1242 -ne `wc -c <'./tpscript/dev.h'`; then
  889.     echo shar: \"'./tpscript/dev.h'\" unpacked with wrong size!
  890. fi
  891. # end of './tpscript/dev.h'
  892. fi
  893. if test ! -d './tpscript/devalw' ; then
  894.     echo shar: Creating directory \"'./tpscript/devalw'\"
  895.     mkdir './tpscript/devalw'
  896. fi
  897. if test -f './tpscript/devalw/C' -a "${1}" != "-c" ; then 
  898.   echo shar: Will not clobber existing file \"'./tpscript/devalw/C'\"
  899. else
  900. echo shar: Extracting \"'./tpscript/devalw/C'\" \(2660 characters\)
  901. sed "s/^X//" >'./tpscript/devalw/C' <<'END_OF_FILE'
  902. X# Courier
  903. name C
  904. internalname Courier
  905. X# fixed width
  906. spacewidth 60
  907. charset
  908. X!    60    2    041
  909. X"    60    2    042
  910. X#    60    3    043
  911. X$    60    3    044
  912. X%    60    2    045
  913. X&    60    2    046
  914. X'    60    2    047
  915. X(    60    3    050
  916. X)    60    3    051
  917. X*    60    2    052
  918. X+    60    2    053
  919. X,    60    1    054
  920. X-    60    0    055
  921. hy    "
  922. X.    60    0    056
  923. X/    60    3    057
  924. sl    "
  925. X0    60    2    060
  926. X1    60    2    061
  927. X2    60    2    062
  928. X3    60    2    063
  929. X4    60    2    064
  930. X5    60    2    065
  931. X6    60    2    066
  932. X7    60    2    067
  933. X8    60    2    070
  934. X9    60    2    071
  935. X:    60    0    072
  936. X;    60    1    073
  937. X<    60    2    074
  938. X=    60    0    075
  939. X>    60    2    076
  940. X?    60    2    077
  941. X@    60    3    0100
  942. A    60    2    0101
  943. B    60    2    0102
  944. C    60    2    0103
  945. D    60    2    0104
  946. E    60    2    0105
  947. XF    60    2    0106
  948. G    60    2    0107
  949. H    60    2    0110
  950. I    60    2    0111
  951. J    60    2    0112
  952. K    60    2    0113
  953. L    60    2    0114
  954. M    60    2    0115
  955. N    60    2    0116
  956. O    60    2    0117
  957. P    60    2    0120
  958. Q    60    3    0121
  959. R    60    2    0122
  960. S    60    2    0123
  961. T    60    2    0124
  962. U    60    2    0125
  963. V    60    2    0126
  964. W    60    2    0127
  965. XX    60    2    0130
  966. Y    60    2    0131
  967. Z    60    2    0132
  968. X[    60    3    0133
  969. X\    60    3    0134
  970. X]    60    3    0135
  971. a^    60    2    0136    asciicircum
  972. X_    60    1    0137
  973. ru    "
  974. X`    60    2    0140
  975. a    60    0    0141
  976. b    60    2    0142
  977. c    60    0    0143
  978. d    60    2    0144
  979. e    60    0    0145
  980. f    60    2    0146
  981. g    60    1    0147
  982. h    60    2    0150
  983. i    60    2    0151
  984. j    60    3    0152
  985. k    60    2    0153
  986. l    60    2    0154
  987. m    60    0    0155
  988. n    60    0    0156
  989. o    60    0    0157
  990. p    60    1    0160
  991. q    60    1    0161
  992. r    60    0    0162
  993. s    60    0    0163
  994. t    60    2    0164
  995. u    60    0    0165
  996. v    60    0    0166
  997. w    60    0    0167
  998. x    60    0    0170
  999. y    60    1    0171
  1000. z    60    0    0172
  1001. X{    60    3    0173
  1002. X|    60    3    0174
  1003. X}    60    3    0175
  1004. a~    60    0    0176    asciitilde
  1005. I!    60    1    0241    exclamdown
  1006. ct    60    2    0242    cent
  1007. po    60    2    0243    sterling
  1008. X$J    60    2    0245    yen
  1009. sc    60    3    0247    section
  1010. fm    60    2    0251    quotesingle
  1011. n'    "
  1012. lq    60    2    0252    quotedblleft
  1013. d<    60    0    0253    guillemotleft
  1014. l<    60    0    0254    guilsinglleft
  1015. r>    60    0    0255    guilsinglright
  1016. X\-    60    0    0261    endash
  1017. dg    60    3    0262    dagger
  1018. dd    60    3    0263    daggerdbl
  1019. pp    60    3    0266    paragraph
  1020. bu    60    0    0267    bullet
  1021. bq    60    2    0271    quotedblbase
  1022. rq    60    2    0272    quotedblright
  1023. d>    60    0    0273    guillemotright
  1024. I?    60    1    0277    questiondown
  1025. ga    60    2    0301    grave
  1026. X\`    "
  1027. aa    60    2    0302    acute
  1028. X\'    "
  1029. X^    60    2    0303    circumflex
  1030. X~    60    2    0304    tilde
  1031. ma    60    2    0305    macron
  1032. be    60    2    0306    breve
  1033. dt    60    2    0307    dotaccent
  1034. X..    60    2    0310    dieresis
  1035. um    "
  1036. ri    60    2    0312    ring
  1037. cd    60    1    0313    cedilla
  1038. X''    60    2    0315    hungarumlaut
  1039. og    60    1    0316    ogonek
  1040. hc    60    2    0317    caron
  1041. em    60    0    0320    emdash
  1042. a:    60    2    0321    adieresis
  1043. o:    60    2    0322    odieresis
  1044. u:    60    2    0323    udieresis
  1045. A:    60    2    0324    Adieresis
  1046. O:    60    2    0325    Odieresis
  1047. U:    60    2    0326    Udieresis
  1048. PL    60    2    0350    Lslash
  1049. O/    60    2    0351    Oslash
  1050. ui    60    0    0365    dotlessi
  1051. Pl    60    2    0370    lslash
  1052. o/    60    2    0371    oslash
  1053. ss    60    2    0373    germandbls
  1054. X12    120    2    0100    1/2 faked - code is irrelevent
  1055. X13    120    2    0100    1/3 faked - code is irrelevent
  1056. X14    120    2    0100    1/4 faked - code is irrelevent
  1057. X18    120    2    0100    1/8 faked - code is irrelevent
  1058. X23    120    2    0100    2/3 faked - code is irrelevent
  1059. X34    120    2    0100    3/4 faked - code is irrelevent
  1060. X38    120    2    0100    3/8 faked - code is irrelevent
  1061. X58    120    2    0100    5/8 faked - code is irrelevent
  1062. X78    120    2    0100    7/8 faked - code is irrelevent
  1063. sq    100    3    0100    square box
  1064. END_OF_FILE
  1065. if test 2660 -ne `wc -c <'./tpscript/devalw/C'`; then
  1066.     echo shar: \"'./tpscript/devalw/C'\" unpacked with wrong size!
  1067. fi
  1068. # end of './tpscript/devalw/C'
  1069. fi
  1070. if test -f './tpscript/devalw/CB' -a "${1}" != "-c" ; then 
  1071.   echo shar: Will not clobber existing file \"'./tpscript/devalw/CB'\"
  1072. else
  1073. echo shar: Extracting \"'./tpscript/devalw/CB'\" \(2667 characters\)
  1074. sed "s/^X//" >'./tpscript/devalw/CB' <<'END_OF_FILE'
  1075. X# Courier-Bold
  1076. name CB
  1077. internalname CourierB
  1078. X# fixed width
  1079. spacewidth 60
  1080. charset
  1081. X!    60    2    041
  1082. X"    60    2    042
  1083. X#    60    3    043
  1084. X$    60    3    044
  1085. X%    60    2    045
  1086. X&    60    2    046
  1087. X'    60    2    047
  1088. X(    60    3    050
  1089. X)    60    3    051
  1090. X*    60    2    052
  1091. X+    60    2    053
  1092. X,    60    1    054
  1093. X-    60    0    055
  1094. hy    "
  1095. X.    60    0    056
  1096. X/    60    3    057
  1097. sl    "
  1098. X0    60    2    060
  1099. X1    60    2    061
  1100. X2    60    2    062
  1101. X3    60    2    063
  1102. X4    60    2    064
  1103. X5    60    2    065
  1104. X6    60    2    066
  1105. X7    60    2    067
  1106. X8    60    2    070
  1107. X9    60    2    071
  1108. X:    60    0    072
  1109. X;    60    1    073
  1110. X<    60    2    074
  1111. X=    60    0    075
  1112. X>    60    2    076
  1113. X?    60    2    077
  1114. X@    60    3    0100
  1115. A    60    2    0101
  1116. B    60    2    0102
  1117. C    60    2    0103
  1118. D    60    2    0104
  1119. E    60    2    0105
  1120. XF    60    2    0106
  1121. G    60    2    0107
  1122. H    60    2    0110
  1123. I    60    2    0111
  1124. J    60    2    0112
  1125. K    60    2    0113
  1126. L    60    2    0114
  1127. M    60    2    0115
  1128. N    60    2    0116
  1129. O    60    2    0117
  1130. P    60    2    0120
  1131. Q    60    3    0121
  1132. R    60    2    0122
  1133. S    60    2    0123
  1134. T    60    2    0124
  1135. U    60    2    0125
  1136. V    60    2    0126
  1137. W    60    2    0127
  1138. XX    60    2    0130
  1139. Y    60    2    0131
  1140. Z    60    2    0132
  1141. X[    60    3    0133
  1142. X\    60    3    0134
  1143. X]    60    3    0135
  1144. a^    60    2    0136    asciicircum
  1145. X_    60    1    0137
  1146. ru    "
  1147. X`    60    2    0140
  1148. a    60    0    0141
  1149. b    60    2    0142
  1150. c    60    0    0143
  1151. d    60    2    0144
  1152. e    60    0    0145
  1153. f    60    2    0146
  1154. g    60    1    0147
  1155. h    60    2    0150
  1156. i    60    2    0151
  1157. j    60    3    0152
  1158. k    60    2    0153
  1159. l    60    2    0154
  1160. m    60    0    0155
  1161. n    60    0    0156
  1162. o    60    0    0157
  1163. p    60    1    0160
  1164. q    60    1    0161
  1165. r    60    0    0162
  1166. s    60    0    0163
  1167. t    60    2    0164
  1168. u    60    0    0165
  1169. v    60    0    0166
  1170. w    60    0    0167
  1171. x    60    0    0170
  1172. y    60    1    0171
  1173. z    60    0    0172
  1174. X{    60    3    0173
  1175. X|    60    3    0174
  1176. X}    60    3    0175
  1177. a~    60    0    0176    asciitilde
  1178. I!    60    1    0241    exclamdown
  1179. ct    60    2    0242    cent
  1180. po    60    2    0243    sterling
  1181. X$J    60    2    0245    yen
  1182. sc    60    3    0247    section
  1183. fm    60    2    0251    quotesingle
  1184. n'    "
  1185. lq    60    2    0252    quotedblleft
  1186. d<    60    0    0253    guillemotleft
  1187. l<    60    0    0254    guilsinglleft
  1188. r>    60    0    0255    guilsinglright
  1189. X\-    60    0    0261    endash
  1190. dg    60    3    0262    dagger
  1191. dd    60    3    0263    daggerdbl
  1192. pp    60    3    0266    paragraph
  1193. bu    60    0    0267    bullet
  1194. bq    60    2    0271    quotedblbase
  1195. rq    60    2    0272    quotedblright
  1196. d>    60    0    0273    guillemotright
  1197. I?    60    1    0277    questiondown
  1198. ga    60    2    0301    grave
  1199. X\`    "
  1200. aa    60    2    0302    acute
  1201. X\'    "
  1202. X^    60    2    0303    circumflex
  1203. X~    60    2    0304    tilde
  1204. ma    60    2    0305    macron
  1205. be    60    2    0306    breve
  1206. dt    60    2    0307    dotaccent
  1207. X..    60    2    0310    dieresis
  1208. um    "
  1209. ri    60    2    0312    ring
  1210. cd    60    1    0313    cedilla
  1211. X''    60    2    0315    hungarumlaut
  1212. og    60    1    0316    ogonek
  1213. hc    60    2    0317    caron
  1214. em    60    0    0320    emdash
  1215. a:    60    2    0321    adieresis
  1216. o:    60    2    0322    odieresis
  1217. u:    60    2    0323    udieresis
  1218. A:    60    2    0324    Adieresis
  1219. O:    60    2    0325    Odieresis
  1220. U:    60    2    0326    Udieresis
  1221. PL    60    2    0350    Lslash
  1222. O/    60    3    0351    Oslash
  1223. ui    60    0    0365    dotlessi
  1224. Pl    60    2    0370    lslash
  1225. o/    60    3    0371    oslash
  1226. ss    60    2    0373    germandbls
  1227. X12    120    2    0100    1/2 faked - code is irrelevent
  1228. X13    120    2    0100    1/3 faked - code is irrelevent
  1229. X14    120    2    0100    1/4 faked - code is irrelevent
  1230. X18    120    2    0100    1/8 faked - code is irrelevent
  1231. X23    120    2    0100    2/3 faked - code is irrelevent
  1232. X34    120    2    0100    3/4 faked - code is irrelevent
  1233. X38    120    2    0100    3/8 faked - code is irrelevent
  1234. X58    120    2    0100    5/8 faked - code is irrelevent
  1235. X78    120    2    0100    7/8 faked - code is irrelevent
  1236. sq    100    3    0100    square box
  1237. END_OF_FILE
  1238. if test 2667 -ne `wc -c <'./tpscript/devalw/CB'`; then
  1239.     echo shar: \"'./tpscript/devalw/CB'\" unpacked with wrong size!
  1240. fi
  1241. # end of './tpscript/devalw/CB'
  1242. fi
  1243. if test -f './tpscript/devalw/CO' -a "${1}" != "-c" ; then 
  1244.   echo shar: Will not clobber existing file \"'./tpscript/devalw/CO'\"
  1245. else
  1246. echo shar: Extracting \"'./tpscript/devalw/CO'\" \(2670 characters\)
  1247. sed "s/^X//" >'./tpscript/devalw/CO' <<'END_OF_FILE'
  1248. X# Courier-Oblique
  1249. name CO
  1250. internalname CourierO
  1251. X# fixed width
  1252. spacewidth 60
  1253. charset
  1254. X!    60    2    041
  1255. X"    60    2    042
  1256. X#    60    3    043
  1257. X$    60    3    044
  1258. X%    60    2    045
  1259. X&    60    2    046
  1260. X'    60    2    047
  1261. X(    60    3    050
  1262. X)    60    3    051
  1263. X*    60    2    052
  1264. X+    60    2    053
  1265. X,    60    1    054
  1266. X-    60    0    055
  1267. hy    "
  1268. X.    60    0    056
  1269. X/    60    3    057
  1270. sl    "
  1271. X0    60    2    060
  1272. X1    60    2    061
  1273. X2    60    2    062
  1274. X3    60    2    063
  1275. X4    60    2    064
  1276. X5    60    2    065
  1277. X6    60    2    066
  1278. X7    60    2    067
  1279. X8    60    2    070
  1280. X9    60    2    071
  1281. X:    60    0    072
  1282. X;    60    1    073
  1283. X<    60    2    074
  1284. X=    60    0    075
  1285. X>    60    2    076
  1286. X?    60    2    077
  1287. X@    60    3    0100
  1288. A    60    2    0101
  1289. B    60    2    0102
  1290. C    60    2    0103
  1291. D    60    2    0104
  1292. E    60    2    0105
  1293. XF    60    2    0106
  1294. G    60    2    0107
  1295. H    60    2    0110
  1296. I    60    2    0111
  1297. J    60    2    0112
  1298. K    60    2    0113
  1299. L    60    2    0114
  1300. M    60    2    0115
  1301. N    60    2    0116
  1302. O    60    2    0117
  1303. P    60    2    0120
  1304. Q    60    3    0121
  1305. R    60    2    0122
  1306. S    60    2    0123
  1307. T    60    2    0124
  1308. U    60    2    0125
  1309. V    60    2    0126
  1310. W    60    2    0127
  1311. XX    60    2    0130
  1312. Y    60    2    0131
  1313. Z    60    2    0132
  1314. X[    60    3    0133
  1315. X\    60    3    0134
  1316. X]    60    3    0135
  1317. a^    60    2    0136    asciicircum
  1318. X_    60    1    0137
  1319. ru    "
  1320. X`    60    2    0140
  1321. a    60    0    0141
  1322. b    60    2    0142
  1323. c    60    0    0143
  1324. d    60    2    0144
  1325. e    60    0    0145
  1326. f    60    2    0146
  1327. g    60    1    0147
  1328. h    60    2    0150
  1329. i    60    2    0151
  1330. j    60    3    0152
  1331. k    60    2    0153
  1332. l    60    2    0154
  1333. m    60    0    0155
  1334. n    60    0    0156
  1335. o    60    0    0157
  1336. p    60    1    0160
  1337. q    60    1    0161
  1338. r    60    0    0162
  1339. s    60    0    0163
  1340. t    60    2    0164
  1341. u    60    0    0165
  1342. v    60    0    0166
  1343. w    60    0    0167
  1344. x    60    0    0170
  1345. y    60    1    0171
  1346. z    60    0    0172
  1347. X{    60    3    0173
  1348. X|    60    3    0174
  1349. X}    60    3    0175
  1350. a~    60    0    0176    asciitilde
  1351. I!    60    1    0241    exclamdown
  1352. ct    60    2    0242    cent
  1353. po    60    2    0243    sterling
  1354. X$J    60    2    0245    yen
  1355. sc    60    3    0247    section
  1356. fm    60    2    0251    quotesingle
  1357. n'    "
  1358. lq    60    2    0252    quotedblleft
  1359. d<    60    0    0253    guillemotleft
  1360. l<    60    0    0254    guilsinglleft
  1361. r>    60    0    0255    guilsinglright
  1362. X\-    60    0    0261    endash
  1363. dg    60    3    0262    dagger
  1364. dd    60    3    0263    daggerdbl
  1365. pp    60    3    0266    paragraph
  1366. bu    60    0    0267    bullet
  1367. bq    60    2    0271    quotedblbase
  1368. rq    60    2    0272    quotedblright
  1369. d>    60    0    0273    guillemotright
  1370. I?    60    1    0277    questiondown
  1371. ga    60    2    0301    grave
  1372. X\`    "
  1373. aa    60    2    0302    acute
  1374. X\'    "
  1375. X^    60    2    0303    circumflex
  1376. X~    60    2    0304    tilde
  1377. ma    60    2    0305    macron
  1378. be    60    2    0306    breve
  1379. dt    60    2    0307    dotaccent
  1380. X..    60    2    0310    dieresis
  1381. um    "
  1382. ri    60    2    0312    ring
  1383. cd    60    1    0313    cedilla
  1384. X''    60    2    0315    hungarumlaut
  1385. og    60    1    0316    ogonek
  1386. hc    60    2    0317    caron
  1387. em    60    0    0320    emdash
  1388. a:    60    2    0321    adieresis
  1389. o:    60    2    0322    odieresis
  1390. u:    60    2    0323    udieresis
  1391. A:    60    2    0324    Adieresis
  1392. O:    60    2    0325    Odieresis
  1393. U:    60    2    0326    Udieresis
  1394. PL    60    2    0350    Lslash
  1395. O/    60    2    0351    Oslash
  1396. ui    60    0    0365    dotlessi
  1397. Pl    60    2    0370    lslash
  1398. o/    60    2    0371    oslash
  1399. ss    60    2    0373    germandbls
  1400. X12    120    2    0100    1/2 faked - code is irrelevent
  1401. X13    120    2    0100    1/3 faked - code is irrelevent
  1402. X14    120    2    0100    1/4 faked - code is irrelevent
  1403. X18    120    2    0100    1/8 faked - code is irrelevent
  1404. X23    120    2    0100    2/3 faked - code is irrelevent
  1405. X34    120    2    0100    3/4 faked - code is irrelevent
  1406. X38    120    2    0100    3/8 faked - code is irrelevent
  1407. X58    120    2    0100    5/8 faked - code is irrelevent
  1408. X78    120    2    0100    7/8 faked - code is irrelevent
  1409. sq    100    3    0100    square box
  1410. END_OF_FILE
  1411. if test 2670 -ne `wc -c <'./tpscript/devalw/CO'`; then
  1412.     echo shar: \"'./tpscript/devalw/CO'\" unpacked with wrong size!
  1413. fi
  1414. # end of './tpscript/devalw/CO'
  1415. fi
  1416. if test -f './tpscript/devalw/DESC.alw' -a "${1}" != "-c" ; then 
  1417.   echo shar: Will not clobber existing file \"'./tpscript/devalw/DESC.alw'\"
  1418. else
  1419. echo shar: Extracting \"'./tpscript/devalw/DESC.alw'\" \(1119 characters\)
  1420. sed "s/^X//" >'./tpscript/devalw/DESC.alw' <<'END_OF_FILE'
  1421. X#
  1422. X#    special fonts have to go at the end or else troff
  1423. X#    won't know about their numbers unless you do .fp
  1424. X#
  1425. fonts 14 R I B BI H HB HO HX C CB CO CX S S2
  1426. sizes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  1427. X    21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
  1428. X    41 42 43 44 45 46 47 48 49 50 52 55 58 61 64 67 70 74 78 82 86 90
  1429. X    94 99 104 109 114 120 126 132 139 146 153 161 169 177 186 195 0
  1430. res 720
  1431. hor 1
  1432. vert 1
  1433. unitwidth 10
  1434. paperwidth 6120
  1435. paperlength 8010
  1436. charset
  1437. X\| \^ \- \` \'
  1438. em hy bu sq ru fi fl ff Fi Fl de dg fm ct rg co
  1439. sc aa ga dd
  1440. X*A *B *C *D *E *F *G *H *I *K *L *M *N *O *P *Q *R *S *T *U *W *X *Y *Z
  1441. X*a *b *c *d *e *f *g *h *i *k *l *m *n *o *p *q *r *s *t *u *w *x *y *z
  1442. pl mi eq ** ul sl sr rn >= <= == ~= ap != -> <- ua da mu di +- ts
  1443. cu ca sb sp ib ip if pd gr no is pt es mo
  1444. br or ci lt lb rt rb lk rk bv lf rf lc rc
  1445. X12 13 14 18 23 34 38 58 78 rh lh
  1446. X$J '' .. AE I! I? O/ PL Pl ae be bq cd d< d> dt hc l< lq ma n' o/ oe og
  1447. pm po pp r> ri rq sd ss ui um a~ a^ OE A: O: U: a: o: u:
  1448. X!m nm !s :> <: <> a+ ag al an ax bt cm cr dm fa im io la lo m. mt te tf tm =~
  1449. AL Cc Cd Ch Cs L< R> r1 r2 u= d=
  1450. END_OF_FILE
  1451. if test 1119 -ne `wc -c <'./tpscript/devalw/DESC.alw'`; then
  1452.     echo shar: \"'./tpscript/devalw/DESC.alw'\" unpacked with wrong size!
  1453. fi
  1454. # end of './tpscript/devalw/DESC.alw'
  1455. fi
  1456. if test -f './tpscript/devalw/DESC.alwp' -a "${1}" != "-c" ; then 
  1457.   echo shar: Will not clobber existing file \"'./tpscript/devalw/DESC.alwp'\"
  1458. else
  1459. echo shar: Extracting \"'./tpscript/devalw/DESC.alwp'\" \(1131 characters\)
  1460. sed "s/^X//" >'./tpscript/devalw/DESC.alwp' <<'END_OF_FILE'
  1461. X#
  1462. X#    special fonts have to go at the end or else troff
  1463. X#    won't know about their numbers unless you do .fp
  1464. X#
  1465. fonts 18 R I B BI H HB HO HX C CB CO CX BR BO BB BX S S2
  1466. sizes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  1467. X    21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
  1468. X    41 42 43 44 45 46 47 48 49 50 52 55 58 61 64 67 70 74 78 82 86 90
  1469. X    94 99 104 109 114 120 126 132 139 146 153 161 169 177 186 195 0
  1470. res 720
  1471. hor 1
  1472. vert 1
  1473. unitwidth 10
  1474. paperwidth 6120
  1475. paperlength 8010
  1476. charset
  1477. X\| \^ \- \` \'
  1478. em hy bu sq ru fi fl ff Fi Fl de dg fm ct rg co
  1479. sc aa ga dd
  1480. X*A *B *C *D *E *F *G *H *I *K *L *M *N *O *P *Q *R *S *T *U *W *X *Y *Z
  1481. X*a *b *c *d *e *f *g *h *i *k *l *m *n *o *p *q *r *s *t *u *w *x *y *z
  1482. pl mi eq ** ul sl sr rn >= <= == ~= ap != -> <- ua da mu di +- ts
  1483. cu ca sb sp ib ip if pd gr no is pt es mo
  1484. br or ci lt lb rt rb lk rk bv lf rf lc rc
  1485. X12 13 14 18 23 34 38 58 78 rh lh
  1486. X$J '' .. AE I! I? O/ PL Pl ae be bq cd d< d> dt hc l< lq ma n' o/ oe og
  1487. pm po pp r> ri rq sd ss ui um a~ a^ OE A: O: U: a: o: u:
  1488. X!m nm !s :> <: <> a+ ag al an ax bt cm cr dm fa im io la lo m. mt te tf tm =~
  1489. AL Cc Cd Ch Cs L< R> r1 r2 u= d=
  1490. END_OF_FILE
  1491. if test 1131 -ne `wc -c <'./tpscript/devalw/DESC.alwp'`; then
  1492.     echo shar: \"'./tpscript/devalw/DESC.alwp'\" unpacked with wrong size!
  1493. fi
  1494. # end of './tpscript/devalw/DESC.alwp'
  1495. fi
  1496. if test -f './tpscript/devalw/Makefile' -a "${1}" != "-c" ; then 
  1497.   echo shar: Will not clobber existing file \"'./tpscript/devalw/Makefile'\"
  1498. else
  1499. echo shar: Extracting \"'./tpscript/devalw/Makefile'\" \(2306 characters\)
  1500. sed "s/^X//" >'./tpscript/devalw/Makefile' <<'END_OF_FILE'
  1501. XFONTS=S R I B BI H HO HB HX C CO CB CX S2
  1502. XFONTSPLUS=S R I B BI H HO HB HX C CO CB CX BR BO BB BX S2
  1503. XF=/usr/lib/font/devalw
  1504. XFPLUS=/usr/lib/font/devalwp
  1505. MAKEDEV=/src/u/dwb/text/troff.d/makedev
  1506. INSTALL=install
  1507. LINK=ln
  1508. RM=rm -f
  1509. CP=cp
  1510. X
  1511. all: $F/DESC.out $(FPLUS)/DESC.out
  1512. X
  1513. alw: $F/DESC.out
  1514. X
  1515. alwp: $(FPLUS)/DESC.out
  1516. X
  1517. X$F/DESC.out: DESC.alw $(FONTS)
  1518. X    $(CP) DESC.alw DESC
  1519. X    $(MAKEDEV) DESC
  1520. X    $(RM) DESC
  1521. X    $(INSTALL) -g bin -o bin -m 644 DESC.out $F/DESC.out
  1522. X    $(INSTALL) -g bin -o bin -m 644 R.out $F/R.out
  1523. X    $(INSTALL) -g bin -o bin -m 644 I.out $F/I.out
  1524. X    $(INSTALL) -g bin -o bin -m 644 B.out $F/B.out
  1525. X    $(INSTALL) -g bin -o bin -m 644 S.out $F/S.out
  1526. X    $(INSTALL) -g bin -o bin -m 644 S2.out $F/S2.out
  1527. X    $(INSTALL) -g bin -o bin -m 644 H.out $F/H.out
  1528. X    $(INSTALL) -g bin -o bin -m 644 HO.out $F/HO.out
  1529. X    $(INSTALL) -g bin -o bin -m 644 HB.out $F/HB.out
  1530. X    $(INSTALL) -g bin -o bin -m 644 HX.out $F/HX.out
  1531. X    $(INSTALL) -g bin -o bin -m 644 C.out $F/C.out
  1532. X    $(RM) $F/CW.out
  1533. X    $(LINK) $F/C.out $F/CW.out
  1534. X    $(INSTALL) -g bin -o bin -m 644 CO.out $F/CO.out
  1535. X    $(INSTALL) -g bin -o bin -m 644 CB.out $F/CB.out
  1536. X    $(INSTALL) -g bin -o bin -m 644 CX.out $F/CX.out
  1537. X    rm *.out
  1538. X
  1539. X$(FPLUS)/DESC.out: DESC.alwp $(FONTSPLUS)
  1540. X    $(CP) DESC.alwp DESC
  1541. X    $(MAKEDEV) DESC
  1542. X    $(RM) DESC
  1543. X    $(INSTALL) -g bin -o bin -m 644 DESC.out $(FPLUS)/DESC.out
  1544. X    $(INSTALL) -g bin -o bin -m 644 R.out $(FPLUS)/R.out
  1545. X    $(INSTALL) -g bin -o bin -m 644 I.out $(FPLUS)/I.out
  1546. X    $(INSTALL) -g bin -o bin -m 644 B.out $(FPLUS)/B.out
  1547. X    $(INSTALL) -g bin -o bin -m 644 S.out $(FPLUS)/S.out
  1548. X    $(INSTALL) -g bin -o bin -m 644 S2.out $(FPLUS)/S2.out
  1549. X    $(INSTALL) -g bin -o bin -m 644 H.out $(FPLUS)/H.out
  1550. X    $(INSTALL) -g bin -o bin -m 644 HO.out $(FPLUS)/HO.out
  1551. X    $(INSTALL) -g bin -o bin -m 644 HB.out $(FPLUS)/HB.out
  1552. X    $(INSTALL) -g bin -o bin -m 644 HX.out $(FPLUS)/HX.out
  1553. X    $(INSTALL) -g bin -o bin -m 644 C.out $(FPLUS)/C.out
  1554. X    $(RM) $(FPLUS)/CW.out
  1555. X    $(LINK) $(FPLUS)/C.out $(FPLUS)/CW.out
  1556. X    $(INSTALL) -g bin -o bin -m 644 CO.out $(FPLUS)/CO.out
  1557. X    $(INSTALL) -g bin -o bin -m 644 CB.out $(FPLUS)/CB.out
  1558. X    $(INSTALL) -g bin -o bin -m 644 CX.out $(FPLUS)/CX.out
  1559. X    $(INSTALL) -g bin -o bin -m 644 BR.out $(FPLUS)/BR.out
  1560. X    $(INSTALL) -g bin -o bin -m 644 BO.out $(FPLUS)/BO.out
  1561. X    $(INSTALL) -g bin -o bin -m 644 BB.out $(FPLUS)/BB.out
  1562. X    $(INSTALL) -g bin -o bin -m 644 BX.out $(FPLUS)/BX.out
  1563. X    rm *.out
  1564. X
  1565. END_OF_FILE
  1566. if test 2306 -ne `wc -c <'./tpscript/devalw/Makefile'`; then
  1567.     echo shar: \"'./tpscript/devalw/Makefile'\" unpacked with wrong size!
  1568. fi
  1569. # end of './tpscript/devalw/Makefile'
  1570. fi
  1571. if test -f './tpscript/devalw/S2' -a "${1}" != "-c" ; then 
  1572.   echo shar: Will not clobber existing file \"'./tpscript/devalw/S2'\"
  1573. else
  1574. echo shar: Extracting \"'./tpscript/devalw/S2'\" \(856 characters\)
  1575. sed "s/^X//" >'./tpscript/devalw/S2' <<'END_OF_FILE'
  1576. X# "Symbol"
  1577. name S2
  1578. internalname BracketFont
  1579. special
  1580. charset
  1581. bv    50    2    0101    bold vertical
  1582. lt    50    2    0102    left top of big curly bracket
  1583. lk    50    2    0103    left centre of big curly bracket
  1584. lb    50    2    0104    left bottom of big curly bracket
  1585. rt    50    2    0105    right top of big curly bracket
  1586. rk    50    2    0106    right centre of big curly bracket
  1587. rb    50    2    0107    right bottom of big curly bracket
  1588. lc    50    2    0110    left ceiling (left top of big square bracket)
  1589. lf    50    2    0111    left floor (left bottom of big square bracket)
  1590. rc    50    2    0112    right ceiling (right top of big square bracket)
  1591. rf    50    2    0113    right floor (right bottom of big square bracket)
  1592. br    0    2    0114    box vertical rule (matches ul)
  1593. rn    50    2    0115    root en extender
  1594. ci    100    3    0116    circle
  1595. X\|    17    0    0117    1/6em narrow space
  1596. X\^    8    0    0120    1/12 em narrow space
  1597. r1    80    0    0121    reversible reaction ( chemical )
  1598. r2    80    0    0122    reversible reaction - 2 full arrows
  1599. END_OF_FILE
  1600. if test 856 -ne `wc -c <'./tpscript/devalw/S2'`; then
  1601.     echo shar: \"'./tpscript/devalw/S2'\" unpacked with wrong size!
  1602. fi
  1603. # end of './tpscript/devalw/S2'
  1604. fi
  1605. if test -f './tpscript/gendefs.sed' -a "${1}" != "-c" ; then 
  1606.   echo shar: Will not clobber existing file \"'./tpscript/gendefs.sed'\"
  1607. else
  1608. echo shar: Extracting \"'./tpscript/gendefs.sed'\" \(213 characters\)
  1609. sed "s/^X//" >'./tpscript/gendefs.sed' <<'END_OF_FILE'
  1610. X/^#/        d
  1611. X/^$/        d
  1612. X/^[     ]/    d
  1613. X/^[^     ]/    {
  1614. X        s/{//
  1615. X        s/#.*//
  1616. X        t loop
  1617. X        :loop
  1618. X            N
  1619. X            s/\n}$/ /
  1620. X            t done
  1621. X            s/#.*//
  1622. X            t loop
  1623. X            b loop
  1624. X        :done
  1625. X        s/[     ][     ]*/ /g
  1626. X        s/\n/ /g
  1627. X        s/ /    "/
  1628. X        s/^/#define    DEF_/
  1629. X        s/ *$/"/
  1630. X        }
  1631. END_OF_FILE
  1632. if test 213 -ne `wc -c <'./tpscript/gendefs.sed'`; then
  1633.     echo shar: \"'./tpscript/gendefs.sed'\" unpacked with wrong size!
  1634. fi
  1635. # end of './tpscript/gendefs.sed'
  1636. fi
  1637. if test -f './tpscript/hash.h' -a "${1}" != "-c" ; then 
  1638.   echo shar: Will not clobber existing file \"'./tpscript/hash.h'\"
  1639. else
  1640. echo shar: Extracting \"'./tpscript/hash.h'\" \(1323 characters\)
  1641. sed "s/^X//" >'./tpscript/hash.h' <<'END_OF_FILE'
  1642. X
  1643. struct    hash_element {
  1644. X    struct    hash_element    *hash_next;    /* pointer in linked list */
  1645. X    struct    special_name    *hash_special;    /* if needs special treatment */
  1646. X    short            hash_index;    /* index into chartab */
  1647. X};
  1648. X
  1649. X    /*
  1650. X     * special names need a postscript subroutine to print them as
  1651. X     * troff expects - the first request to print \(xx will generate
  1652. X     * the definition of a subroutine named Cxx and the character
  1653. X     * will be printed by invoking Cxx.
  1654. X     */
  1655. struct    special_name {
  1656. X    char    *troff_name,    /* the name by which troff knows the char */
  1657. X        *definition,    /* the definition string in postscript */
  1658. X        sn_flags;    /* flag for various values defined below */
  1659. X};
  1660. X
  1661. X#define    SN_DEFINED    01
  1662. X#define    SN_FRACTION    02    /* use special set-up common to all fractions */
  1663. X#define    SN_BRACKET    04    /* use special set-up common to brackets */
  1664. X#define    SN_BRK_ROUNDING    010    /* correct for rounding errors in width tables */
  1665. X
  1666. X        /*
  1667. X         * if one of these is defined then there is some common
  1668. X         * procedure to define
  1669. X         * only one can be defined for any one name
  1670. X         */
  1671. X#define    SN_ANY_MULTIPLE    (SN_FRACTION | SN_BRACKET | SN_BRK_ROUNDING )
  1672. X
  1673. X
  1674. typedef    struct    hash_element    HASH_ELEMENT;
  1675. typedef    struct    special_name    SPECIAL_NAME;
  1676. X
  1677. extern    SPECIAL_NAME    specnames[],
  1678. X            multdefs[];
  1679. X
  1680. X#define    HASH_SIZE    37
  1681. X
  1682. X#define    NOHASH        (HASH_ELEMENT *)0
  1683. X#define    NOSPECIAL    (SPECIAL_NAME *)0
  1684. END_OF_FILE
  1685. if test 1323 -ne `wc -c <'./tpscript/hash.h'`; then
  1686.     echo shar: \"'./tpscript/hash.h'\" unpacked with wrong size!
  1687. fi
  1688. # end of './tpscript/hash.h'
  1689. fi
  1690. if test -f './tpscript/pscript.h' -a "${1}" != "-c" ; then 
  1691.   echo shar: Will not clobber existing file \"'./tpscript/pscript.h'\"
  1692. else
  1693. echo shar: Extracting \"'./tpscript/pscript.h'\" \(1661 characters\)
  1694. sed "s/^X//" >'./tpscript/pscript.h' <<'END_OF_FILE'
  1695. X/*
  1696. X *    pscript.h
  1697. X *    Some common definitions for programs that produce postscript
  1698. X */
  1699. X
  1700. X#ifndef    PSCRIPT_DEFINED
  1701. X#define    PSCRIPT_DEFINED    1
  1702. X
  1703. X#ifndef    VERBOSE
  1704. X#if    lint
  1705. X#define    VERBOSE    1    /* if linting, check all the code */
  1706. X#else    lint
  1707. X#define    VERBOSE    0
  1708. X#endif    lint
  1709. X#endif    VERBOSE
  1710. X
  1711. X#if    UNSW
  1712. X#undef    AUSAM
  1713. X#define    AUSAM    1
  1714. X#endif    UNSW
  1715. X
  1716. X#ifdef    AUSAM
  1717. X#undef    AUSAM
  1718. X#define    AUSAM    1
  1719. X#else
  1720. X#define    AUSAM    0
  1721. X#endif    AUSAM
  1722. X
  1723. X#ifdef    BSD
  1724. X#undef    BSD
  1725. X#define    BSD    1
  1726. X#define    index    strchr
  1727. X#define    rindex    strrchr
  1728. X#include    <strings.h>    /* declarations for string functions */
  1729. X#else
  1730. X#define    BSD    0
  1731. X#include    <string.h>    /* declarations for string functions */
  1732. X#endif    BSD
  1733. X
  1734. X#ifdef    SYSV
  1735. X#undef    SYSV
  1736. X#define    SYSV    1
  1737. X#else
  1738. X#define    SYSV    0
  1739. X#endif    SYSV
  1740. X
  1741. X#ifdef    V7
  1742. X#undef    V7
  1743. X#define    V7    1
  1744. X#else
  1745. X#define    V7    0
  1746. X#endif    V7
  1747. X
  1748. X#if    AUSAM + BSD + SYSV + V7 != 1
  1749. X#include    "Must define 1 only of AUSAM, BSD, SYSV, V7"
  1750. X#endif
  1751. X
  1752. X#include    <stdio.h>
  1753. X
  1754. X/* LaserWriter page types */
  1755. X#define    PT_DEFAULT    0
  1756. X#define    PT_LETTER    1
  1757. X#define    PT_LEGAL    2
  1758. X#define    PT_NOTE        3
  1759. X#ifdef    ALW
  1760. X#define    PT_A4        4    /* currently only on Apple LaserWriter */
  1761. X#endif    ALW
  1762. X
  1763. X/* Postscript defaults */
  1764. X#define    PD_PAGETYPE    PT_LETTER    /* page size is "letter" */
  1765. X#define    PD_ROTATION    0        /* page is portrait mode */
  1766. X#define    PD_PFREQUENCY    60        /* pixel frequency (pixels/inch) */
  1767. X#define    PD_PROTATION    45        /* pixel grid rotation (degrees) */
  1768. X
  1769. X#define    ALW_RES        300    /* LaserWriter resolution is 300 dots/inch */
  1770. X
  1771. X#define    PU_INCH        72    /* postscript units / inch */
  1772. X#define    PU_CM        28.3465    /* postscript units / cm */
  1773. X
  1774. X#define    TRUE        (bool)1
  1775. X#define    FALSE        (bool)0
  1776. X
  1777. typedef int    bool;
  1778. X
  1779. extern FILE *    postr;        /* output stream */
  1780. X
  1781. void    perror(),
  1782. X    exit();
  1783. X
  1784. X#endif    PSCRIPT_DEFINED
  1785. END_OF_FILE
  1786. if test 1661 -ne `wc -c <'./tpscript/pscript.h'`; then
  1787.     echo shar: \"'./tpscript/pscript.h'\" unpacked with wrong size!
  1788. fi
  1789. # end of './tpscript/pscript.h'
  1790. fi
  1791. if test -f './tpscript/sfont2defs.h' -a "${1}" != "-c" ; then 
  1792.   echo shar: Will not clobber existing file \"'./tpscript/sfont2defs.h'\"
  1793. else
  1794. echo shar: Extracting \"'./tpscript/sfont2defs.h'\" \(1752 characters\)
  1795. sed "s/^X//" >'./tpscript/sfont2defs.h' <<'END_OF_FILE'
  1796. X#define    DEF_lt    "  0 150 50 210 140 250   0 730  0 150 50 250 200 250   0 750   220 -250   C.brk.end"
  1797. X#define    DEF_lb    "  0 -150 50 -210 140 -250   0 -730  0 -150 50 -250 200 -250   0 -750   220 750   C.brk.end"
  1798. X#define    DEF_lk    "  1 setlinewidth  220 -250 moveto  0 400 rlineto  0 50 -50 100 -100 100 rcurveto  50 0 100 50 100 100 rcurveto  0 400 rlineto  60 0 rlineto  0 -400 rlineto  0 -50 -50 -100 -100 -100 rcurveto  50 0 100 -50 100 -100 rcurveto  0 -400 rlineto closepath fill"
  1799. X#define    DEF_rt    "  0 150 -50 250 -200 250   0 750   0 150 -50 210 -140 250   0 730  220 -250   C.brk.end"
  1800. X#define    DEF_rb    "  0 -150 -50 -250 -200 -250   0 -750   0 -150 -50 -210 -140 -250   0 -730  220 750   C.brk.end"
  1801. X#define    DEF_rk    "  1 setlinewidth  220 -250 moveto  0 400 rlineto  0 50 50 100 100 100 rcurveto  -50 0 -100 50 -100 100 rcurveto  0 400 rlineto  60 0 rlineto  0 -400 rlineto  0 -50 50 -100 100 -100 rcurveto  -50 0 -100 -50 -100 -100 rcurveto  0 -400 rlineto  fill"
  1802. X#define    DEF_lc    "  C.bv   280   C.barc"
  1803. X#define    DEF_lf    "  C.bv 280 C.barf"
  1804. X#define    DEF_rc    "  C.bv 40 C.barc"
  1805. X#define    DEF_rf    "  C.bv 40 C.barf"
  1806. X#define    DEF_br    "  40 C.setl  0 -250 moveto  0 1000 rlineto  stroke"
  1807. X#define    DEF_rn    "  40 C.setl  0 895 moveto  500 0 rlineto  stroke"
  1808. X#define    DEF_ci    "  40 C.setl  500 250   400   0 360 arc   stroke"
  1809. X#define    DEF_sp_6    ""
  1810. X#define    DEF_sp_12    ""
  1811. X#define    DEF_r1    "  40 C.setl  0 setlinejoin  700 180 moveto -650 currentlinewidth add 0 rlineto 200 -200 rlineto  50 360 moveto 650 currentlinewidth sub 0 rlineto -200 200 rlineto  stroke"
  1812. X#define    DEF_r2    "  40 C.setl  2 setlinejoin  217 18 moveto    -150 150 rlineto 150 150 rlineto -150 -150 rlineto  633 0 rlineto  50 360 moveto  633 0 rlineto  -150 150 rlineto 150 -150 rlineto -150 -150 rlineto  stroke"
  1813. X
  1814. X
  1815. END_OF_FILE
  1816. if test 1752 -ne `wc -c <'./tpscript/sfont2defs.h'`; then
  1817.     echo shar: \"'./tpscript/sfont2defs.h'\" unpacked with wrong size!
  1818. fi
  1819. # end of './tpscript/sfont2defs.h'
  1820. fi
  1821. if test -f './tpscript/stringdefs.c' -a "${1}" != "-c" ; then 
  1822.   echo shar: Will not clobber existing file \"'./tpscript/stringdefs.c'\"
  1823. else
  1824. echo shar: Extracting \"'./tpscript/stringdefs.c'\" \(650 characters\)
  1825. sed "s/^X//" >'./tpscript/stringdefs.c' <<'END_OF_FILE'
  1826. X#include    "hash.h"
  1827. X
  1828. X#include        "stringdefs.h"
  1829. X
  1830. SPECIAL_NAME    specnames[] = {
  1831. X    {"ru",        DEF_ru,        0, }, 
  1832. X    {"12",        DEF_12,        SN_FRACTION, },
  1833. X    {"14",        DEF_14,        SN_FRACTION, },
  1834. X    {"34",        DEF_34,        SN_FRACTION, },
  1835. X    {"13",        DEF_13,        SN_FRACTION, },
  1836. X    {"18",        DEF_18,        SN_FRACTION, },
  1837. X    {"23",        DEF_23,        SN_FRACTION, },
  1838. X    {"38",        DEF_38,        SN_FRACTION, },
  1839. X    {"58",        DEF_58,        SN_FRACTION, },
  1840. X    {"78",        DEF_78,        SN_FRACTION, },
  1841. X    {"sr",        DEF_sr,        0, },
  1842. X    {"sq",        DEF_sq,        0, },
  1843. X    {"ff",        DEF_ff,        0 },
  1844. X    {"Fi",        DEF_Fi,        0 },
  1845. X    {"Fl",        DEF_Fl,        0 },
  1846. X    { (char *)0,    (char *)0,    0}
  1847. X};
  1848. X
  1849. SPECIAL_NAME    multdefs[] =
  1850. X{
  1851. X    {"fract",    DEF_fract,    SN_FRACTION },
  1852. X    { (char *)0,    (char *)0,    0}
  1853. X};
  1854. END_OF_FILE
  1855. if test 650 -ne `wc -c <'./tpscript/stringdefs.c'`; then
  1856.     echo shar: \"'./tpscript/stringdefs.c'\" unpacked with wrong size!
  1857. fi
  1858. # end of './tpscript/stringdefs.c'
  1859. fi
  1860. if test -f './tpscript/stringdefs.h' -a "${1}" != "-c" ; then 
  1861.   echo shar: Will not clobber existing file \"'./tpscript/stringdefs.h'\"
  1862. else
  1863. echo shar: Extracting \"'./tpscript/stringdefs.h'\" \(1519 characters\)
  1864. sed "s/^X//" >'./tpscript/stringdefs.h' <<'END_OF_FILE'
  1865. X#define    DEF_12    "  (1) (2) Cfract"
  1866. X#define    DEF_14    "  (1) (4) Cfract"
  1867. X#define    DEF_34    "  (3) (4) Cfract"
  1868. X#define    DEF_13    "  (1) (3) Cfract"
  1869. X#define    DEF_18    "  (1) (8) Cfract"
  1870. X#define    DEF_23    "  (2) (3) Cfract"
  1871. X#define    DEF_38    "  (3) (8) Cfract"
  1872. X#define    DEF_58    "  (5) (8) Cfract"
  1873. X#define    DEF_78    "  (7) (8) Cfract"
  1874. X#define    DEF_ru    "  0 ysiz pt 5 div 2 copy rmoveto   (_) show  neg rmoveto"
  1875. X#define    DEF_sr    "  currentfont   /dx xsiz pt 0.05 mul def  dx 0 rmoveto   f.S [ xsiz pt 0 0 ysiz pt 0 0 ]makefont setfont  (\\326)s  dx neg 0 rmoveto   setfont"
  1876. X#define    DEF_sq    "  currentlinewidth currentpoint currentpoint  ysiz pt 20.8 div dup dtransform round idtransform setlinewidth pop  newpath moveto  /dy ysiz pt 0.8 mul def   /dx xsiz pt 0.8 mul def   dx 8 div dy .1875 mul neg rmoveto   0 dy rlineto dx 0 rlineto  0 dy neg rlineto  closepath        mark  currentfont /FontName get   40 string cvs   (Bold) search   {fill}   {stroke}   ifelse  cleartomark   moveto   xsiz pt 0 rmoveto   setlinewidth"
  1877. X#define    DEF_ff    "  (f) show xsiz pt 20 div neg 0 rmoveto (f) s"
  1878. X#define    DEF_Fi    "  (f) show xsiz pt 20 div neg 0 rmoveto (\\256) s"
  1879. X#define    DEF_Fl    "  (f) show xsiz pt 20 div neg 0 rmoveto (\\257) s"
  1880. X#define    DEF_fract    "  /fbot exch def   /ftop exch def   currentfont currentpoint   /f0 ysiz pt 2 div def   (0) stringwidth pop 2 div 0 rmoveto   (\\244)show   currentpoint 4 2 roll moveto   0 f0 0.75 mul rmoveto   fonttype [ xsiz pt 2 div 0 0 f0 0 0 ]makefont setfont    ftop show  moveto   fbot show  setfont"
  1881. X
  1882. X
  1883. X
  1884. X
  1885. X
  1886. X
  1887. X
  1888. X
  1889. X
  1890. X
  1891. X
  1892. X
  1893. X
  1894. X
  1895. X
  1896. X
  1897. X
  1898. X
  1899. X
  1900. X
  1901. X
  1902. X
  1903. X
  1904. X
  1905. X
  1906. END_OF_FILE
  1907. if test 1519 -ne `wc -c <'./tpscript/stringdefs.h'`; then
  1908.     echo shar: \"'./tpscript/stringdefs.h'\" unpacked with wrong size!
  1909. fi
  1910. # end of './tpscript/stringdefs.h'
  1911. fi
  1912. if test -f './troff.sh' -a "${1}" != "-c" ; then 
  1913.   echo shar: Will not clobber existing file \"'./troff.sh'\"
  1914. else
  1915. echo shar: Extracting \"'./troff.sh'\" \(1326 characters\)
  1916. sed "s/^X//" >'./troff.sh' <<'END_OF_FILE'
  1917. X# troff shell script - invoke ditroff with appropriate args
  1918. X#    - Stephen Frede
  1919. X# The default device
  1920. dev=-Talw
  1921. X# default postprocessor
  1922. post=tpscript
  1923. X# ditroff arguments
  1924. ditargs=
  1925. X# postprocessor arguments
  1926. postargs=
  1927. for i
  1928. do
  1929. X    case $i in
  1930. X    -Talw)    dev=-Talw
  1931. X        post=tpscript
  1932. X        ;;
  1933. X    -Toldalw)
  1934. X        dev=-Toldalw
  1935. X        post=oldtpscript
  1936. X        ;;
  1937. X    -Ttek)    dev=-Talw    # use alw font tables
  1938. X        post=tc
  1939. X        ;;
  1940. X    -Tuqalw)
  1941. X        dev=-Talw
  1942. X        post=tpscript
  1943. X        echo "-Tuqalw has been re-named -Talw (new default) (warning)" 1>&2
  1944. X        ;;
  1945. X    -Thpgl)    dev=-Talw    # use alw font tables for now
  1946. X        post=hpgl
  1947. X        echo "hpgl back end not finished yet" 1>&2
  1948. X        exit 1
  1949. X        ;;
  1950. X    -T*)    echo invalid device $i;  exit 1 ;;
  1951. X    -c*)    # -cxxx doesn't work; translate to -mxxx
  1952. X        ditargs="$ditargs "-m`expr "$i" : "-.\(.*\)"` ;;
  1953. X    -a)    # ascii representation - no postprocessor
  1954. X        ditargs="$ditargs -a"
  1955. X        post=""
  1956. X        ;;
  1957. X    -R*)    # rotate
  1958. X        if [ "$dev" != "-Talw" ]
  1959. X        then
  1960. X            echo "-R option only applies to device 'alw'" 1>&2
  1961. X            exit 1
  1962. X        fi
  1963. X        postargs="$postargs "-r`expr "$i" : "-.\(.*\)"`
  1964. X        ;;
  1965. X    -[sS])    # single page at a time - manual feed on ALW
  1966. X        if [ "$dev" = "-Talw" ]
  1967. X        then
  1968. X            postargs="$postargs -S"
  1969. X        else
  1970. X            ditargs="$ditargs $i"
  1971. X        fi
  1972. X        ;;
  1973. X    *)    ditargs="$ditargs "$i    ;;
  1974. X    esac
  1975. done
  1976. X
  1977. if [ "$post" = "" ]
  1978. then
  1979. X    /bin/ditroff $dev $ditargs
  1980. else
  1981. X    /bin/ditroff $dev $ditargs | /usr/lib/troff/$post $postargs
  1982. fi
  1983. END_OF_FILE
  1984. if test 1326 -ne `wc -c <'./troff.sh'`; then
  1985.     echo shar: \"'./troff.sh'\" unpacked with wrong size!
  1986. fi
  1987. chmod +x './troff.sh'
  1988. # end of './troff.sh'
  1989. fi
  1990. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  1991.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  1992. else
  1993. echo shar: Extracting \"'MANIFEST'\" \(2412 characters\)
  1994. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  1995. X   File Name        Archive #    Description
  1996. X-----------------------------------------------------------
  1997. X ./MANIFEST                 1    
  1998. X ./Makefile                 1    
  1999. X ./READ_ME                  3    
  2000. X ./READ_ME.TOO              4    
  2001. X ./man                      1    
  2002. X ./man/ipscript.1           3    
  2003. X ./man/lpscript.1           3    
  2004. X ./opscript                 1    
  2005. X ./opscript/Makefile        1    
  2006. X ./opscript/bitmap.PS       1    
  2007. X ./opscript/ipscript.c      4    
  2008. X ./opscript/lpscript.c      4    
  2009. X ./opscript/pcom.c          4    
  2010. X ./opscript/pscript.h       1    
  2011. X ./pscript                  1    
  2012. X ./pscript/READ_ME          1    
  2013. X ./pscript/a4.ps            1    
  2014. X ./pscript/big_greek.ps     1    
  2015. X ./pscript/demo.ps          3    
  2016. X ./pscript/floor.ps         3    
  2017. X ./pscript/genftable.ps     5    
  2018. X ./pscript/grid.ps          1    
  2019. X ./pscript/inc.ps           1    
  2020. X ./pscript/pages.ps         1    
  2021. X ./pscript/papersize.ps     1    
  2022. X ./pscript/pattern.ps       1    
  2023. X ./pscript/setidle.sh       1    
  2024. X ./pscript/setname.sh       1    
  2025. X ./pscript/setpasswd.sh     1    
  2026. X ./pscript/shadow.ps        1    
  2027. X ./tpscript                 1    
  2028. X ./tpscript/Makefile        1    
  2029. X ./tpscript/call.c          1    
  2030. X ./tpscript/dev.h           1    
  2031. X ./tpscript/devalw          1    
  2032. X ./tpscript/devalw/B        2    
  2033. X ./tpscript/devalw/BB       2    
  2034. X ./tpscript/devalw/BI       2    
  2035. X ./tpscript/devalw/BO       2    
  2036. X ./tpscript/devalw/BR       2    
  2037. X ./tpscript/devalw/BX       2    
  2038. X ./tpscript/devalw/C        1    
  2039. X ./tpscript/devalw/CB       1    
  2040. X ./tpscript/devalw/CO       1    
  2041. X ./tpscript/devalw/CX       2    
  2042. X ./tpscript/devalw/DESC.alw  1    
  2043. X ./tpscript/devalw/DESC.alwp  1    
  2044. X ./tpscript/devalw/H        2    
  2045. X ./tpscript/devalw/HB       2    
  2046. X ./tpscript/devalw/HO       2    
  2047. X ./tpscript/devalw/HX       2    
  2048. X ./tpscript/devalw/I        2    
  2049. X ./tpscript/devalw/Makefile  1    
  2050. X ./tpscript/devalw/PA       2    
  2051. X ./tpscript/devalw/PB       3    
  2052. X ./tpscript/devalw/R        2    
  2053. X ./tpscript/devalw/S        2    
  2054. X ./tpscript/devalw/S2       1    
  2055. X ./tpscript/gendefs.sed     1    
  2056. X ./tpscript/hash.c          3    
  2057. X ./tpscript/hash.h          1    
  2058. X ./tpscript/pcom.c          4    
  2059. X ./tpscript/pscript.h       1    
  2060. X ./tpscript/sfont2.c        4    
  2061. X ./tpscript/sfont2defs.H    3    
  2062. X ./tpscript/sfont2defs.h    1    
  2063. X ./tpscript/spline.c        3    
  2064. X ./tpscript/stringdefs.H    2    
  2065. X ./tpscript/stringdefs.c    1    
  2066. X ./tpscript/stringdefs.h    1    
  2067. X ./tpscript/tpscript.c      5    
  2068. X ./tpscript/tpscript.h      3    
  2069. X ./troff.sh                 1    
  2070. X MANIFEST                   1    This shipping list
  2071. END_OF_FILE
  2072. if test 2412 -ne `wc -c <'MANIFEST'`; then
  2073.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  2074. fi
  2075. # end of 'MANIFEST'
  2076. fi
  2077. echo shar: End of archive 1 \(of 5\).
  2078. cp /dev/null ark1isdone
  2079. MISSING=""
  2080. for I in 1 2 3 4 5 ; do
  2081.     if test ! -f ark${I}isdone ; then
  2082.     MISSING="${MISSING} ${I}"
  2083.     fi
  2084. done
  2085. if test "${MISSING}" = "" ; then
  2086.     echo You have unpacked all 5 archives.
  2087.     rm -f ark[1-9]isdone
  2088. else
  2089.     echo You still need to unpack the following archives:
  2090.     echo "        " ${MISSING}
  2091. fi
  2092. ##  End of shell archive.
  2093. exit 0
  2094.